package com.hua.designpattern.j2eepattern.servicelocator;

/**
 * 
 * @author joshua
 *
 *         <pre>
 *   服务定位器模式（Service Locator Pattern）用在  JNDI 查询定位各种服务的时候。
 *   	考虑到为某个服务查找 JNDI 的代价很高，服务定位器模式充分利用了缓存技术。
 *   	在首次请求某个服务时，服务定位器在 JNDI 中查找服务，并缓存该服务对象。
 *   	当再次请求相同的服务时，服务定位器会在它的缓存中查找，这样可以在很大程度上提高应用程序的性能。
 * 
 *         </pre>
 *
 */
public class TestServiceLocator {

	public static void main(String[] args) {
		ServiceLocator serviceLocator = new ServiceLocator();
		ServiceInterface service1 = serviceLocator.getService("EJB");
		ServiceInterface service2 = serviceLocator.getService("JMS");
		ServiceInterface service3 = serviceLocator.getService("EJB");
		ServiceInterface service4 = serviceLocator.getService("EJB");
		service1.execute();
		service2.execute();
		service3.execute();
		service4.execute();

	}

}
